1. Field of the Invention
The present invention relates to an information processing apparatus which makes an analysis by a malicious third party difficult when executing a program. In particular, the present invention relates to an information processing apparatus using a secure module, which is detachably mounted to the information processing apparatus and executes a process on security when executing a program.
2. Description of Related Art
Recently, an always-on connection environment represented by the broadband Internet has become widespread, and technologies for ensuring security against execution, update or the like of unauthorized programs by a malicious third party have received attention. In particular, a personal computer (hereinafter, referred to as “PC”) has open architecture, and programs which are executed on the PC are described as program code in a format in accordance with an operating system (hereinafter, referred to as OS), or a processor. Therefore, since everyone can basically examine and understand the content of the program code in a main memory on the PC or in a storage medium, there are problems that it is difficult to ensure security of the program, the content managed through the program, or the like.
In order to solve these problems, countermeasures of, for example making a reverse analysis difficult by complicating a logic of the program, encrypting the program, dynamically executing the program while writing it in the memory (see Japanese Patent Application Laid-Open No. 11-232103 (1999)) or the like have been conventionally taken using technologies of making the program to be executed secure or difficult to be read.
Moreover, disclosed in Japanese Patent Application Laid-Open No. 2003-198527 is a technology of combining a secure module having an area therein, which cannot be analyzed or accessed, with an information processing apparatus having the open architecture as an external module and writing a program in a memory using the secure module. When using such technology, since the program is encrypted using information that cannot be analyzed or accessed from the outside while the program is stored in a storage medium, the analysis of content by the third party is prevented. Moreover, by monitoring a memory, in which the program is written, using the secure module which operates independently of a processor, the security of the program to be executed is further enhanced.